column_name = {
    'ID': 'ID',
    'CKSJ': "出库时间",
    'PSS': "配送商",

    'CPMC_PSS': "产品名称(配送商的)",
    "CPMC_GSNB": "产品名称(公司内部的)",

    "CPBM_PSS": "产品编码(配送商的)",
    'CPBM_GSNB': "产品编码(公司内部的)",

    "SCCJ": "生产厂家",

    "KHMC_PSS": "客户名称(配送商的)",
    'YYMC_GSNB': "医院名称(公司内部的)",

    "KHBM": "客户编码(配送商的)",
    "YYBM": "医院编码(公司内部的)",

    "SL": "数量",
    "DJ": "单价",
    "PCXX": '批次信息',
    "LHXX": '来货信息',

    'SJLY': '数据来源',
    'YC': '异常信息'

}

column_widths = {
    'ID': 20,
    '出库时间': 15,
    '配送商': 30,
    '产品名称(配送商的)': 80,
    '产品名称(公司内部的)': 80,
    '产品编码(配送商的)': 30,
    '产品编码(公司内部的)': 30,
    '生产厂家': 30,
    '客户名称(配送商的)': 30,
    '医院名称(公司内部的)': 30,
    '客户编码(配送商的)': 30,
    '医院编码(公司内部的)': 30,
    '数量': 10,
    '单价': 15,
    '批次信息': 20,
    '来货信息': 30,
    '数据来源': 30,
    '异常信息': 100,
    # 继续添加其他列...
}


season_sales_volume_column_name = {
    'year': '年份',
    'month': '月份',
    'CKSJ': '出库时间',
    'season': '季度',
    'PSS': '配送商',
    'YYMC': '医院名称',
    'KS': '科室',
    'CJ': '厂家',
    'CPNB_BM': '产品内部编码',
    'CPNB_MC': '产品内部名称',
    'SL': '数量',
    'price': '单价',
    'amount': '金额',
    'PSD': '配送点',
    'PSF': '配送费',
    'KCPSFHJE': '扣除配送费后金额',
    'manager': '经理',
    'specialist': '专员',
    'CPPC': '产品批次',
    'ID': 'ID',
    'CYPADJ': '氚云备案单价',
    'price_diff': '单价差异'
}

season_sales_volume_column_h3yun_code = {
    'year': 'F0000001',
    'month': 'F0000002',
    'CKSJ': 'F0000003',
    'season': 'F0000004',
    'PSS': 'F0000005',
    'YYMC': 'F0000006',
    'KS': 'F0000007',
    'CJ': 'F0000008',
    'CPNB_BM': 'F0000009',
    'CPNB_MC': 'F0000010',
    'SL': 'F0000011',
    # 配送商的销售单价
    'price': 'F0000012',
    'amount': 'F0000013',
    'PSD': 'F0000014',
    'PSF': 'F0000015',
    'KCPSFHJE': 'F0000016',
    'manager': 'F0000017',
    'specialist': 'F0000018',
    'CPPC': 'F0000019',
    'ID': 'F0000020',
    # 氚云备案单价 对应 医疗器械信息销售备案 的  终端医院供货价
    'CYPADJ': 'F0000021',
    # 单价差异 =  CYPADJ - price
    'price_diff': 'F0000022'
}

month_sales_volume_column_h3yun_code = {

    '销售年-月': 'F0000043',
    '年份': 'F0000001',
    '月份': 'F0000002',
    '季度': 'F0000004',
    '配送商': 'F0000008',
    '医院名称': 'F0000013',
    '医院编码': 'F0000012',
    '产品编码': 'F0000015',
    '产品名称': 'F0000020',
    '商品规格': 'F0000010',
    '生产厂家': 'F0000011',
    '批号': 'F0000027',
    '型号': 'F0000039',
    '产品一级编码': 'F0000016',
    '产品一级名称': 'F0000017',
    '产品二级编码': 'F0000018',
    '产品二级名称': 'F0000019',
    '数量': 'F0000021',
    '人份/规格': 'F0000037',
    '数量（按人份）': 'F0000038',
    '专员': 'F0000053',
    '经理': 'F0000054',
    '总监': 'F0000055',
    '总经理': 'F0000056',
    '省份': 'F0000005',
    '城市': 'F0000006'
}


specialist_column_name = {
    'season': '季度',
    'manager': '经理',
    'area': '区域',
    'specialist': '专员',
    'sales_index': '指标',
    'sales_volume': '销售额',
    'completion_rate': '完成率'
}

specialist_column_code = {
    'season': 'F0000001',
    'manager': 'F0000002',
    'area': 'F0000003',
    'specialist': 'F0000004',
    'sales_index': 'F0000005',
    'sales_volume': 'F0000006',
    'completion_rate': 'F0000007'
}

manager_column_name = {
    'season': '季度',
    'manager': '经理',
    'area': '代表区域',
    'sales_index': '指标',
    'sales_volume': '销售额',
    'completion_rate': '完成率',
    'avg_completion_rate': '平均完成率'
}

manager_column_code = {
    'season': 'F0000001',
    'manager': 'F0000002',
    'area': 'F0000003',
    'sales_index': 'F0000004',
    'sales_volume': 'F0000005',
    'completion_rate': 'F0000006',
    'avg_completion_rate': 'F0000007'
}


shanlian_column_types = {
    '商品编码': str,
    '客户编码': str,
    '批号': str,
}

gy_column_types = {
    '客户编码': str,
    '商品编号': str,
    '批号': str
}

shangyao_column_types = {
    '商品编码': str,
    '客户编码': str,
    '批号': str
}


total_excel_column_types = {
    '产品编码(配送商的)': str,
    '产品编码(公司内部的)': str,
    '客户编码(配送商的)': str,
    '医院编码(公司内部的)': str,
    '批次信息': str
}

